package com.itcast.springboot3x.thread;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.concurrent.TimeUnit;

/**
 * 接收线程池的基本配置信息
 * @author zhangtian105
 * @date 2023/5/18
 * @apiNote
 */
@Getter
@Setter
@NoArgsConstructor
public class ThreadPoolProperties {
    /**
     * 线程池名称
     */
    private String poolName;
    /**
     * 核心线程数
     */
    private int corePoolSize;
    /**
     * 最大线程数
     */
    private int maxmumPoolSize = Runtime.getRuntime().availableProcessors();
    /**
     * 空闲线程回收时间
     */
    private long keepAliveTime = 60;
    /**
     * 空闲线程回收时间的单位
     */
    private TimeUnit unit = TimeUnit.SECONDS;
    /**
     * 等待队列大小
     */
    private int queueCapacity = Integer.MAX_VALUE;
}
